package com.sunshine.mapper;

import com.sunshine.domain.UserAccount;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;

public interface UserAccountMapper {
    
    /**
     * 根据用户ID获取账户信息
     * @param userId 用户ID
     * @return 用户账户信息
     */
    UserAccount selectByUserId(@Param("userId") Integer userId);
    
    /**
     * 扣除用户账户余额
     * @param userId 用户ID
     * @param amount 扣除金额
     * @return 影响行数
     */
    int deductBalance(@Param("userId") Integer userId, @Param("amount") BigDecimal amount);
    
    /**
     * 插入用户账户记录
     * @param userAccount 用户账户
     * @return 影响行数
     */
    int insert(UserAccount userAccount);
    
    /**
     * 更新用户账户信息
     * @param userAccount 用户账户
     * @return 影响行数
     */
    int updateByPrimaryKeySelective(UserAccount userAccount);
}